//package com.example.feishumsg.task;
//
//import cn.hutool.core.util.StrUtil;
//import cn.hutool.http.HttpRequest;
//import com.alibaba.fastjson.JSON;
//import org.springframework.scheduling.annotation.EnableScheduling;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import java.time.*;
//import java.time.format.DateTimeFormatter;
//import java.time.temporal.ChronoUnit;
//import java.util.*;
//
///**
// * <h1>  <h1>
// *
// * @author wry
// * @since 2023/9/4 18:57
// */
//@Component
//@EnableScheduling
//public class EveryDayPush {
//
//    //@Scheduled(cron = "0 0 9 * * ?")
//    public void push(){
//        final String WebHookUrl = "https://open.feishu.cn/open-apis/bot/v2/hook/0ec8182f-5798-4d1f-9df0-583847a7f463";
//        String one = "https://v1.hitokoto.cn/?c=f&encode=text";
//
//        String tg = "https://apis.tianapi.com/tiangou/index?key=7b98152d9f9737a6a530d0a449fc0560";
//
//        final String onemsgs = HttpRequest.get(tg).execute().body();
//        final String resultonemsgs = JSON.parseObject(onemsgs).getString("result");
//        final String tgrj = JSON.parseObject(resultonemsgs).getString("content");
//        final LocalDateTime now = LocalDateTime.now();
//
//        final String msg = StrUtil.format("【文祥哥】提醒您：\n" +
//                "        今天是{}，星期{}，早上好！有事没事起身去茶水间，去厕所，去廊道走走，别总在工位上坐着，钱是老板的，健康是自己的。\n" +
//                "温馨提示：\n" +
//                "距离【15号发工资】：{}天\n" +
//                "距离【中秋】还有：{}天\n" +
//                "距离【国庆】还有：{}天\n" +
//                "距离【2024年】还有：{}天\n" +
//                "距离【大年三十】还有：{}天\n"+
//                "\n【舔狗日记】：{}", now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")),
//                getWeek(),getKG(), getGZDay(),getZQDay(), getGQDay(), get2024(), getCX(),tgrj);
//        System.out.println(msg);
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text",msg);
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WebHookUrl).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    private static final String WEBHOOKURL = "https://open.feishu.cn/open-apis/bot/v2/hook/0ec8182f-5798-4d1f-9df0-583847a7f463";
//
//    @Scheduled(cron = "0 0 14-17 ? * MON-FRI")
//    private void heshuiTips(){
//        if (!checkTime()){
//            return;
//        }
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text","【饮水提醒】：注意补充水分");
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WEBHOOKURL).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    @Scheduled(cron = "0 29 11 ? * MON-FRI")
//    private void ganfanTips(){
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text","【🍚干饭提醒】：1分钟后准备干饭");
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WEBHOOKURL).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    @Scheduled(cron = "0 30 17 ? * MON-FRI")
//    private void ganfanTips2(){
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text","【🍚干饭提醒】：不下班的准备吃晚饭了");
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WEBHOOKURL).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    @Scheduled(cron = "0 27 17 ? * MON-FRI")
//    private void ganfanTips3(){
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text","【⏰下班提醒】：距离下班还有3分钟 记得打卡");
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WEBHOOKURL).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    private boolean checkTime(){
//        final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//        final LocalDateTime st = LocalDateTime.parse("2024-02-03 00:00:00", dateTimeFormatter);
//        final LocalDateTime et = LocalDateTime.parse("2024-02-13 23:59:59", dateTimeFormatter);
//        final LocalDateTime now = LocalDateTime.now();
//        if (now.isAfter(st) && now.isBefore(et)) {
//            return false;
//        }
//        return true;
//    }
//
//    @Scheduled(cron = "0 57 19 ? * MON-FRI")
//    private void ganfanTips4(){
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text","【⏰下班提醒】：距离下班还有3分钟 记得打卡");
//        json.put("content", text);
//        //发送post请求
//        String result = HttpRequest.post(WEBHOOKURL).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//        System.out.println(result);
//    }
//
//    public static class NewList{
//        private String title;
//
//        private String url;
//        private String description;
//
//        public NewList() {
//        }
//
//        public NewList(String title, String url, String description) {
//            this.title = title;
//            this.url = url;
//            this.description = description;
//        }
//
//        public String getTitle() {
//            return title;
//        }
//
//        public void setTitle(String title) {
//            this.title = title;
//        }
//
//        public String getUrl() {
//            return url;
//        }
//
//        public void setUrl(String url) {
//            this.url = url;
//        }
//
//        public String getDescription() {
//            return description;
//        }
//
//        public void setDescription(String description) {
//            this.description = description;
//        }
//
//        @Override
//        public String toString() {
//            return new StringJoiner(", ", NewList.class.getSimpleName() + "[", "]")
//                    .add("title='" + title + "'")
//                    .add("url='" + url + "'")
//                    .add("description='" + description + "'")
//                    .toString();
//        }
//    }
//
//    //@Scheduled(cron = "0 15 10 ? * MON-FRI")
//    private void itTop10(){
//        getItTop10();
//    }
//
//    private void getItTop10(){
//        final String WebHookUrl = "https://open.feishu.cn/open-apis/bot/v2/hook/0ec8182f-5798-4d1f-9df0-583847a7f463";
//        String key = "7b98152d9f9737a6a530d0a449fc0560";
//        final String ittop10 = HttpRequest.get("https://apis.tianapi.com/it/index?key="+key).execute().body();
//        final String result = JSON.parseObject(ittop10).getString("result");
//        final String newslist = JSON.parseObject(result).getString("newslist");
//        final List<NewList> newLists = JSON.parseArray(newslist, NewList.class);
//        String msg = "";
//        for (NewList newList : newLists) {
//            msg += newList.getDescription() + " " + newList.getUrl() + "\n\n";
//        }
//        Map<String, Object> json = new HashMap<>();
//        Map<String, Object> text = new HashMap<>();
//        json.put("msg_type", "text");
//        text.put("text",msg);
//        json.put("content", text);
//        //发送post请求
//        HttpRequest.post(WebHookUrl).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();
//    }
//
//    private static String getWeek(){
//        final int value = LocalDate.now().getDayOfWeek().getValue();
//        switch (value){
//            case 1:
//                return "一";
//            case 2:
//                return "二";
//            case 3:
//                return "三";
//            case 4:
//                return "四";
//            case 5:
//                return "五";
//            case 6:
//                return "六";
//            case 7:
//                return "天";
//            default:
//                return "";
//        }
//    }
//
//    private static int getGZDay(){
//        // 获取当前日期
//        LocalDate currentDate = LocalDate.now();
//        // 获取下个月的15号
//        LocalDate nextMonth15th = currentDate.plusMonths(1).withDayOfMonth(15);
//        // 计算当前日期距离下个月15号的天数
//        return Period.between(currentDate, nextMonth15th).getDays();
//    }
//
//    private static Long getZQDay(){
//        // 获取当前日期
//        Calendar calendar = new GregorianCalendar();
//        int currentYear = calendar.get(Calendar.YEAR);
//        int currentMonth = calendar.get(Calendar.MONTH) + 1; // 月份从0开始计数
//        int currentDay = calendar.get(Calendar.DAY_OF_MONTH);
//
//        // 中秋节日期（每年都在农历8月15日）
//        int festivalYear = currentYear;
//        int festivalMonth = 8; // 中秋节一般在农历八月
//        int festivalDay = 15;
//
//        // 创建一个农历Calendar对象
//        Calendar lunarCal = new GregorianCalendar(festivalYear, festivalMonth - 1, festivalDay); // 注意月份需要减1，因为和公历一样，月份从0开始计数
//
//        // 计算两个日期之间的天数
//        long daysBetween = lunarCal.get(Calendar.DAY_OF_MONTH) - currentDay; // 如果当前日期是8月1日至14日，需要加上一个月的天数
//        if (daysBetween < 0) { // 如果当前日期是8月15日或之后，或者已经过了今年的中秋节
//            daysBetween += 30; // 7月31天，所以需要加上30天
//        } else { // 如果当前日期是8月1日至14日之间，需要加上一个月的天数
//            daysBetween += 15; // 中秋节是15日，所以需要加上15天
//        }
//        return daysBetween - 1;
//    }
//
//    private static Long getGQDay(){
//        // 获取当前日期
//        LocalDate today = LocalDate.now();
//
//        // 获取国庆节日期
//        LocalDate nationalDay = LocalDate.of(today.getYear(), 10, 1);
//
//        // 计算两个日期之间的天数
//        return ChronoUnit.DAYS.between(today, nationalDay);
//    }
//
//    private static Long get2024(){
//        // 获取当前日期
//        LocalDate today = LocalDate.now();
//
//        // 获取2024年的日期
//        LocalDate year2024 = LocalDate.of(2024, 1, 1);
//
//        // 计算两个日期之间的天数
//        return ChronoUnit.DAYS.between(today, year2024);
//
//    }
//
//    private static Long getCX(){
//        // 获取当前日期
//        LocalDate today = LocalDate.now();
//
//        // 获取2024年2月9日的日期
//        LocalDate date = LocalDate.of(2024, 2, 9);
//
//        // 计算两个日期之间的天数
//        return ChronoUnit.DAYS.between(today, date);
//    }
//
//    private static Long getKG(){
//        // 获取当前日期
//        LocalDate today = LocalDate.now();
//
//        // 设定目标日期
//        LocalDate targetDate = LocalDate.of(2023, 2, 21);
//
//        // 计算两个日期之间的天数
//        return Math.abs(ChronoUnit.DAYS.between(today, targetDate));
//    }
//
//
//}
